Today's vehicles are equipped with many different types of data collection and processing components. Much of the data collected by the data collection components is used to control the operation of the vehicle. For example, data collected by oxygen sensors is used to control the amount of fuel introduced into the engine, to avoid providing an overly rich fuel mixture that would result in decreased fuel efficiency and increased emissions.
Two broad classes of data include operational data and fault code data. As used herein and the claims that follow, the term operational data encompasses data that is used to control the operation of the vehicle, such as the data from oxygen sensors as noted above (data which is used by one or more vehicle controllers as feedback for controlling some aspect of the vehicles operation), or data that is simply generated during the operation of the vehicle (some vehicles generate operational data that is not used by any vehicle component during routine vehicle operation, but is rather used by diagnostic or service equipment during vehicle servicing or maintenance). In general, operational data is not stored, but rather is generated, contemporaneously used (either to control various vehicular systems or to provide data to diagnostic or service equipment during vehicle servicing), and then discarded. Exemplary operational data include, but is not limited to, engine coolant temperature, engine speed, oxygen levels, throttle position, brake temperature, vehicle speed, brake position, and gearbox parameters. Much of this data is collected very frequently, some types of operational data being collected multiple times per second. The sheer quantity of operational data being generated by the various vehicle components and subsystems makes storing or archiving all of such operational data problematical. Some vendors do provide data logging systems for temporary use in vehicles, where all the operational data generated by the vehicle is stored for later analysis, but such data logging systems are not designed for long term use.
Fault code data somewhat addresses the problem of storing the enormous quantity of operational data generated by vehicles. Fault codes corresponding to specific undesirable operating parameters are predefined. A processor in the vehicle monitors the operational data as it is generated, and whenever an operating parameter corresponding to a specific predefined fault code is detected, the fault code is stored in a memory in the vehicle. The fault code is generally a numeric or alphanumeric value that can be stored using very little memory resources. For example, the number 11 can be defined as a fault code for the following condition: battery sensing voltage drops below 4 or between 7 and 8 volts for more than 20 seconds. Fault codes can be retrieved and used to diagnose vehicle problems. Even with the data provided by fault codes, accurate diagnosis of complex or unusual vehicular system failures can be problematical.
It would be desirable to provide a vehicular diagnostic method and apparatus that provided more contextual data than available based on fault codes alone, which do not rely on storing all of the operational data produced by a vehicle.